<%--
    Document   : nuevaAltaRed
    Created on : 21-dic-2008, 21:03:23
    Author     : José Manuel
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.util.*"%>
<%@page import="proyectoCisco.Usuario"%>
<%@page import="proyectoCisco.Router"%>
<%@page import="proyectoCisco.Red"%>
<%@page import="proyectoCisco.claseBBDD"%>
<%@page import="proyectoCisco.RedRouter"%>
<%@page import="java.io.File"%>
<%@page import="org.apache.commons.fileupload.*"%>
<%@page import="org.apache.commons.fileupload.FileUploadException"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@page import="org.apache.commons.fileupload.FileItem"%>

<html>
    <head>
        <link href="estilos.css" rel="stylesheet" type="text/css">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Nueva asignacion de routers a red</title>
    </head>
    <body>
     <%
        claseBBDD baseDatos = new claseBBDD();
        ArrayList<Router> routersAAsignar = new ArrayList<Router>();
        Router nuevoRouter;
        String routers="",mensaje="",nombreRed="";
        Red nueva = new Red();

        if (session.getAttribute("login") != null && ((String) session.getAttribute("login")).length() > 0)
        {

            boolean isMultipart = ServletFileUpload.isMultipartContent(request);
            // Creamos los objetos para procesar los archivos
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            // items es un arreglo de objetos FileItem.
            List  items = upload.parseRequest(request);
            Iterator iter = items.iterator();
            while (iter.hasNext())
            {
              FileItem item = (FileItem) iter.next();

              if (item.isFormField())
              {
                // aqui va el codigo si el objeto no es un archivo
               // sino un campo del formulario
                  String name = item.getFieldName();
                  if(name.equals("param"))
                  {
                      routers=(String)item.getString();
                  }
                  if(name.equals("nombreRed"))
                  {
                      nombreRed=(String)item.getString();
                  }
              }
              else
              {
                  String dirPath = getServletContext().getRealPath("/images/redes/");
                  String nombreFichero = nombreRed + ".jpg";
                  File nuevo = new File( dirPath, nombreRed+".jpg" );
                  // Escribimos datos en el nuevo fichero
                  item.write(nuevo);
              }
            }

            // Tokenizamos todos los routers a asignar
            StringTokenizer tokens = new StringTokenizer(routers);
            while(tokens.hasMoreTokens())
            {
                nuevoRouter = new Router();
                nuevoRouter.setIp(tokens.nextToken());
                routersAAsignar.add(nuevoRouter);
            }
            // Creamos la red
            nueva.setNombre(nombreRed);
            baseDatos.insertarRegistro("red", nueva);

            // AQUI ASIGNAMOS CON UNA FUNCION DE BBDD LOS ROUTERS AL USUARIO
            mensaje=baseDatos.asignarRoutersRed(nombreRed, routersAAsignar);

            if(mensaje.equals("ok"))
            {
     %>
            <table width="350" border="1" id="tablaRouters">
                 <caption>Listado de routers asignados a <%=nombreRed%></caption>
                 <thead>
                   <tr>
                     <th width="138" align="center">ROUTER</th>
                   </tr>
                 </thead>
                 <tbody>
                 <%
                 for(int i=0;i<routersAAsignar.size();i++){
                 %>
                   <tr>
                       <td width="138" align="center"> <%= routersAAsignar.get(i).getIp() %> </td>
                   </tr>
                 <%
                 }
                 %>
                 <td> <a class="user" href="actividadRouters.jsp"> Volver </a> </td>
                 </tbody>
            </table>
            <%
            }
            else
            {
            %>
              <h1>Error: <%=mensaje%> </h1>
              <a class="user" href="actividadRouters.jsp"> Volver </a>
            <%
            }
        }
        else
        {
        %><META HTTP-EQUIV="REFRESH" CONTENT="1;URL=error.jsp">
        <%
        }
        %>
      </body>
</html>
